local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node

local wday = function()
  local lst_wday = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"}
  local w = tonumber(os.date('%w')) + 1
  return {lst_wday[w]}
end
local date = function() return {os.date('%Y/%m/%d')} end
local date1 = function() return {string.format("%s (%s)", date()[1], wday()[1])} end
local time = function() return {os.date('%Y-%m-%d %H-%M-%S')} end
local time1 = function() return {string.format("%s (%s)", time()[1], wday()[1])} end

ls.add_snippets("all", {
  s("rqqq", { f(date1) }),
  s("sjjj", { f(time1) }),
})

ls.add_snippets("all", {
  s("nt", { t("notice:") }),
  s("xj", { t("详见小节") }),
  s("cm", { t("⠇我自己注释⠇:") }),
  s("df", { t("todo:???") }),
  s("pc", { t("#pic--> ") }),
  s("fg1", { t({"# "..string.rep("-", 132)}) }),
  s("fg2", { t({"# "..string.rep("~", 80)}) }),
  s("fg3", { t({"# "..string.rep(".", 32)}) }),
  s("fg4", { t({string.rep("-", 12)}) }),
  s("xx1", { t("🌟") }),
  s("xx2", { t("🔺") }),
  s("hjjj", { t("🚀") }),
  s("wlll", { t("🐌") }),
  s("cqqq", { t('r !rg -F "task(cq🟧)" ../')}),
})

ls.add_snippets("python", {
  s("__name__", {
    t({
      "__name__ == '__main__':",
      "\tparser = argparse.ArgumentParser()",
      "\tparser.add_argument('action', choices=['cli', 'gui'])",
      "\tparser.add_argument('-c', '--config', type=str, help='config file')",
      "\tparser.add_argument('-v', '--version', type=str, help='version')",
      "\targs = parser.parse_args()",
      "\t"
    }),
  }),
})
